Repository navigation
Conversation
Enable rx_slots=3 alongside tx_slots=3 on the 48 kHz 2-channel SSP2-BT hardware configuration (hw_config.3) so full-duplex 48 kHz Bluetooth SSP offload streams can capture and play back simultaneously. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Include SSP and Bluetooth offload definitions in sof-hda-generic.conf when ADD_BT=true without altering existing non-BT topologies. Add dedicated SSP2-BT offload topology targets (BT_PCM_ID=20, BT_PCM_NAME=Bluetooth, ADD_BT=true) for ACE 1.5/2.0 and ACE 3.0 HDA platforms (sof-hda-generic-ace1-bt, sof-hda-generic-ace3-bt, sof-hda-generic-ace3-2ch-bt, sof-hda-generic-ace3-4ch-bt) as well as ACE 3.0 / Wildcat Lake RT722 4ch SoundWire platforms (sof-ptl-rt722-4ch-bt and sof-wcl-rt722-4ch-bt). Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Enable CONFIG_DMA_DW_FIFO_PARTITION=y on ACE 1.5 (MTL/ARL-S) matching CAVS 2.5 so dw_dma_setup() partitions the LP-GPDMA hardware FIFO instead of leaving FIFO partition sizes at zero, preventing immediate SSP2-BT GATEWAY_UNDERRUN_DETECTED errors. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Import Zephyr's liblc3 module in west.yml and add SOF DSP Bluetooth Transparent-mode (0x03) codec offload components for SSP2-BT playback and capture pipelines: - bt_lc3 (4c433301-b700-4a10-8000-010203040501): Zephyr liblc3 7.5 ms - bt_msbc (4d534243-b700-4a10-8000-010203040502): HFP H2-framed mSBC - bt_g722 (47373232-b700-4a10-8000-010203040503): ITU-T G.722 SB-ADPCM - bt_aptx (41505458-b700-4a10-8000-010203040504): 4-band QMF aptX ADPCM Each component encapsulates frames into self-synchronizing 60-byte eSCO Transparent-mode packets on the 8 kHz SSP2-BT link while exposing 16 kHz S16_LE PCM to the host pipeline. Enable CONFIG_COMP_BT_CODEC=y on ACE 3.0 Panther Lake and Wildcat Lake targets. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add BT_TRANSP_CODEC support (lc3, msbc, g722, aptx) to bt-generic.conf
along with widget definitions for bt_lc3, bt_msbc, bt_g722, and bt_aptx.
Build dedicated ACE 3.0 Panther Lake and Wildcat Lake feature topologies
for each SOF DSP Bluetooth Transparent-mode protocol:
- sof-{ptl,wcl}-rt722-4ch-bt-{lc3,msbc,g722,aptx}.tplg
- sof-{ptl,wcl}-ssp2-bt-id10-{lc3,msbc,g722,aptx}.tplg
- sof-hda-generic-ace3-bt-{lc3,msbc,g722,aptx}.tplg
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Depends on #11432 (stacked on
topic/sof-bt-offload).This series adds Sound Open Firmware (SOF) DSP Bluetooth
Transparentmode (0x03) audio codec offload components (LC3,mSBC,G.722,aptX) and dedicated ACE 3.0 Panther Lake / Wildcat Lake feature topologies so compressed wideband codecs run directly on the SOF DSP overSSP2-BT(Data_Path_ID = 0x01,Coding_Format = 0x03 Transparent) while exposing standard16 kHzS16_LEPCM to host ALSA (hw:0,20):audio: bt_codec: add Bluetooth Transparent LC3, mSBC, G.722, aptX(9f458ce8d):liblc3module (modules/lib/liblc3) inwest.yml.src/audio/bt_codec/(CONFIG_COMP_BT_CODEC=yon ACE 3.0ptlandwcl) providing four IPC4 processing modules:bt_lc3(4c433301-b700-4a10-8000010203040501): Zephyrliblc37.5 ms encoder/decoder (16 kHzPCM ↔30-byteLC3 frame).bt_msbc(4d534243-b700-4a10-8000010203040502): HFP H2-framed0x01/0xadmSBC encoder/decoder (16 kHzPCM ↔57-bytemSBC frame).bt_g722(47373232-b700-4a10-8000010203040503): ITU-T G.722 64 kbps 2-band QMF SB-ADPCM encoder/decoder (16 kHzPCM ↔60-byteG.722 frame).bt_aptx(41505458-b700-4a10-8000010203040504): Bluetooth aptX 4-band QMF ADPCM encoder/decoder (16 kHzPCM ↔60-byteaptX frame).0xA5 0x5Async + sequence + payload + XOR checksum) over the8 kHzSSP2-BTTransparenteSCO link for zero bit-slip DSP-to-DSP framing.topology2: ace3, hda-generic: add BT Transparent codec topologies(18e650d13):BT_TRANSP_CODEC(lc3,msbc,g722,aptx) support inbt-generic.confand widget definitions ininclude/components/bt-{lc3,msbc,g722,aptx}.conf.sof-{ptl,wcl}-rt722-4ch-bt-{lc3,msbc,g722,aptx}.tplgsof-{ptl,wcl}-ssp2-bt-id10-{lc3,msbc,g722,aptx}.tplgsof-hda-generic-ace3-bt-{lc3,msbc,g722,aptx}.tplgHardware Validation (Over-the-Air DSP-to-DSP
SSP2-BTTransparent 0x03)Validated bi-directionally over the air between Wildcat Lake (
ladybird,sof-wcl.ri,500 HzTX) and Panther Lake (damsel-fly,sof-ptl.ri,1000 HzTX) overSSP2-BT(hw:0,20,16 kHzS16_LEhost PCM ↔8 kHzTransparent 0x03eSCO air link):ladybird/damsel-fly)ladybirdRX FFT (1000 HzTX)damsel-flyRX FFT (500 HzTX)bt_lc3(Zephyrliblc3)*-bt-lc3.tplg999.86 Hz(RMS 14140.4)500.08 Hz(RMS 14140.1)bt_msbc(HFP H2 mSBC)*-bt-msbc.tplg1000.45 Hz(RMS 14452.5)500.00 Hz(RMS 14329.5)bt_g722(ITU-T G.722 SB-ADPCM)*-bt-g722.tplg999.87 Hz(RMS 14171.2)500.00 Hz(RMS 14157.7)bt_aptx(4-band QMF ADPCM)*-bt-aptx.tplg999.97 Hz(RMS 14385.2)499.93 Hz(RMS 14371.0)